1. Technical Field
This disclosure relates to electronic design automation (EDA). More specifically, this disclosure relates to methods and apparatuses for performing scenario reduction using a dominance relation on a set of corners.
2. Related Art
The relentless miniaturization and increasing complexity of integrated circuits have been key driving forces behind the rapid advances in computer technology.
The advance to smaller semiconductor geometries has increased the variability in process and operating conditions of integrated circuits. A process corner is a particular set of process conditions under which the circuit design may be manufactured. An operating corner is a particular set of operating conditions (e.g., temperature, voltage) under which the circuit design may operate. The term “corner” can refer to a process corner, an operating corner, or a combination thereof.
One reason for the increase in complexity of circuit designs is the introduction of a large number of operational modes (e.g., stand-by, mission, test, etc.). Different operational modes (or “modes” for short) can have drastically different voltages and clock speeds. In fact, some parts of the circuit design may be completely switched off in certain modes.
Note that modes are different from corners. Specifically, modes are design dependent, i.e., the circuit design dictates the different modes in which a circuit design can operate. For example, typical modes for a circuit design include, but are not limited to, a normal mode, a sleep mode, a stand-by mode, and a test mode. On the other hand, a corner depends on the ambient conditions that are expected to occur during manufacturing and/or operation. For example, if a chip is expected to be used over a temperature range of −40° C. to 80° C., then the circuit designer may define multiple corners that are associated with different operating temperatures.
An important goal is to ensure that a circuit design meets the functional and performance requirements under all conditions that are expected to occur. The term “Multi-Corner/Multi-Mode (MCMM) scenario,” or “scenario” for short, refers to a combination of a corner and a mode.
Circuit optimization is a complex task that can consume a significant portion of the circuit design time. Therefore, the task of optimizing a circuit design across multiple scenarios can easily become computationally intensive if the number of scenarios is large.
Unfortunately, the number of scenarios over which circuit designs are desired to be optimized is increasing rapidly as semiconductor geometries become smaller and circuit designs become more complex.